// 使用封装好的 axios （已设置默认选项）
import axios from './axios'

class Xhr {

  static _instance: Xhr | null = null
  // 单例模式
  static getInstance() {
    if (!this._instance) {
      this._instance = new Xhr()
    }
    return this._instance
  }

  /**
   * 请求方法： 
   *  get类型options携带params参数作为数据对象， 
   *  post类型options携带data参数作为数据对象
   */
  request(options: {
    method: 'get' | 'post',
    url: string,
    params?: object, // 这里表示非原始类型,具体属性不做限制
    data?: object
  }) {
    return axios(options).then((res) => {
      return res
    })
  }
}

export default Xhr.getInstance()